package com.xydtech.ecard.merchant.domain;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xydtech.common.core.domain.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * 电子名片个人信息对象 ecard_person_info
 *
 * @author yuzhiguo
 * @date 2024-09-02 下午1:20
 */
public class EcardPersonInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 个人主键ID */
    private Long id;

    /** 个人客户类型，1：农户，2：新市民 */
    private Integer perType;

    /** 个人客户类型，1：农户，2：新市民  */
    @Excel(name = "个人客户类型", needMerge = true, width = 20)
    private String perTypeName;

    /** 客户姓名 */
    @Excel(name = "客户姓名", needMerge = true, width = 20)
    private String perCustName;

    /** 身份证号 */
    @Excel(name = "身份证号", needMerge = true, width = 20)
    private String perCustIdcard;

    /** 身份证头像面 */
    private String perIdcardHead;

    /** 身份证国徽面 */
    private String perIdcardBadge;

    /** 联系方式 */
    @Excel(name = "联系方式", needMerge = true, width = 20)
    private String perCustPhone;

    /** 是否户主：是-T否-F */
    @Excel(name = "是否户主", needMerge = true, width = 20)
    private String perIsHouseholder;

    /** 婚姻状况 */
    @Excel(name = "婚姻状况", needMerge = true, width = 20)
    private String perMaritalStatus;

    /** 居住状况 */
    @Excel(name = "居住状况", needMerge = true, width = 20)
    private String perResidentialStatus;

    /** 居住住址 */
    @Excel(name = "居住住址", needMerge = true, width = 20)
    private String perResidentialAddress;

    /** 营销重点（多条记录逗号隔开） */
    @Excel(name = "营销重点", needMerge = true, width = 20)
    private String perMarketingFocus;

    /** 业务标签（多条记录逗号隔开） */
    @Excel(name = "业务标签", needMerge = true, width = 20)
    private String perBusinessLabel;

    /** 个人标签（多条记录逗号隔开） */
    @Excel(name = "个人标签", needMerge = true, width = 20)
    private String perLabel;

    /** 个人层级 */
    @Excel(name = "个人层级", needMerge = true, width = 20)
    private String perLevel;

    /** 客户层级 */
    private String perLevelName;

    /** 经营项目 */
    @Excel(name = "经营项目", needMerge = true, width = 20)
    private String manageBusinessProject;

    /** 经营情况 */
    @Excel(name = "经营情况", needMerge = true, width = 20)
    private String manageSituation;

    /** 工作单位 */
    @Excel(name = "工作单位", needMerge = true, width = 20)
    private String workUnit;

    /** 地图地址 */
    @Excel(name = "地图地址", needMerge = true, width = 20)
    private String manageMapAddress;

    /** 网格名称 */
    @Excel(name = "网格名称", needMerge = true, width = 20)
    private String areaName;

    /** 网格表关联id */
    private Long perAreaId;

    /** 创建人注册ID */
    private Long creatorId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss", needMerge = true, width = 20)
    private Date creationTime;

    /** 创建人机构id */
    private Long deptId;

    /** 管户人id */
    private Long managementPersonnelId;

    /** 状态0停用,1启用 */
    private Integer state;

    /** 状态 */
    @Excel(name = "状态", needMerge = true, width = 20)
    private String stateName;

    /** 客户经理 */
    @Excel(name = "客户经理", needMerge = true, width = 20)
    private String userName;

    /** 机构名称 */
    @Excel(name = "机构名称", needMerge = true, width = 20)
    private String deptName;

    /** 拜访结果 */
    @Excel(name = "拜访结果", needMerge = true, width = 20)
    private String visitSts;

    /**
     * 是否释放
     */
    private String releaseSts;

    /** 时间排序 */
    private String sortTime;

    /** 最近拜访时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最近拜访时间", format = "yyyy-MM-dd HH:mm:ss", needMerge = true, width = 20)
    private Date maxbftime;

    /** 最大成员建档时间 */
    private Date maxcytime;

    /** 最近拜访照片 */
    private String maxvisitpic;

    /** 字典机构查询条件 */
    private Long dictDeptId;
    /**
     * 用户编号
     */
    private Long userId;
    /**
     * 成员信息
     */
    @ExcelCollection(name = "成员信息")
    List<EcardMerchantPartInfo> merchantPartDetail;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setPerType(Integer perType)
    {
        this.perType = perType;
    }

    public Integer getPerType()
    {
        return perType;
    }

    public String getPerTypeName() {
        return perTypeName;
    }

    public void setPerTypeName(String perTypeName) {
        this.perTypeName = perTypeName;
    }

    public void setPerCustName(String perCustName)
    {
        this.perCustName = perCustName;
    }

    public String getPerCustName()
    {
        return perCustName;
    }
    public void setPerCustIdcard(String perCustIdcard)
    {
        this.perCustIdcard = perCustIdcard;
    }

    public String getPerCustIdcard()
    {
        return perCustIdcard;
    }
    public void setPerIdcardHead(String perIdcardHead)
    {
        this.perIdcardHead = perIdcardHead;
    }

    public String getPerIdcardHead()
    {
        return perIdcardHead;
    }
    public void setPerIdcardBadge(String perIdcardBadge)
    {
        this.perIdcardBadge = perIdcardBadge;
    }

    public String getPerIdcardBadge()
    {
        return perIdcardBadge;
    }
    public void setPerCustPhone(String perCustPhone)
    {
        this.perCustPhone = perCustPhone;
    }

    public String getPerCustPhone()
    {
        return perCustPhone;
    }
    public void setPerIsHouseholder(String perIsHouseholder)
    {
        this.perIsHouseholder = perIsHouseholder;
    }

    public String getPerIsHouseholder()
    {
        return perIsHouseholder;
    }
    public void setPerMaritalStatus(String perMaritalStatus)
    {
        this.perMaritalStatus = perMaritalStatus;
    }

    public String getPerMaritalStatus()
    {
        return perMaritalStatus;
    }
    public void setPerResidentialStatus(String perResidentialStatus)
    {
        this.perResidentialStatus = perResidentialStatus;
    }

    public String getPerResidentialStatus()
    {
        return perResidentialStatus;
    }
    public void setPerResidentialAddress(String perResidentialAddress)
    {
        this.perResidentialAddress = perResidentialAddress;
    }

    public String getPerResidentialAddress()
    {
        return perResidentialAddress;
    }
    public void setPerMarketingFocus(String perMarketingFocus)
    {
        this.perMarketingFocus = perMarketingFocus;
    }

    public String getPerMarketingFocus()
    {
        return perMarketingFocus;
    }
    public void setPerBusinessLabel(String perBusinessLabel)
    {
        this.perBusinessLabel = perBusinessLabel;
    }

    public String getPerBusinessLabel()
    {
        return perBusinessLabel;
    }
    public void setPerLabel(String perLabel)
    {
        this.perLabel = perLabel;
    }

    public String getPerLabel()
    {
        return perLabel;
    }
    public void setPerLevel(String perLevel)
    {
        this.perLevel = perLevel;
    }

    public String getPerLevel()
    {
        return perLevel;
    }
    public void setPerAreaId(Long perAreaId)
    {
        this.perAreaId = perAreaId;
    }

    public Long getPerAreaId()
    {
        return perAreaId;
    }
    public void setCreatorId(Long creatorId)
    {
        this.creatorId = creatorId;
    }

    public Long getCreatorId()
    {
        return creatorId;
    }
    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setManagementPersonnelId(Long managementPersonnelId)
    {
        this.managementPersonnelId = managementPersonnelId;
    }

    public Long getManagementPersonnelId()
    {
        return managementPersonnelId;
    }
    public void setState(Integer state)
    {
        this.state = state;
    }

    public Integer getState()
    {
        return state;
    }

    public String getManageBusinessProject() {
        return manageBusinessProject;
    }

    public void setManageBusinessProject(String manageBusinessProject) {
        this.manageBusinessProject = manageBusinessProject;
    }

    public String getManageSituation() {
        return manageSituation;
    }

    public void setManageSituation(String manageSituation) {
        this.manageSituation = manageSituation;
    }

    public String getWorkUnit() {
        return workUnit;
    }

    public void setWorkUnit(String workUnit) {
        this.workUnit = workUnit;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Date getMaxcytime() {
        return maxcytime;
    }

    public void setMaxcytime(Date maxcytime) {
        this.maxcytime = maxcytime;
    }

    public String getMaxvisitpic() {
        return maxvisitpic;
    }

    public void setMaxvisitpic(String maxvisitpic) {
        this.maxvisitpic = maxvisitpic;
    }

    public List<EcardMerchantPartInfo> getMerchantPartDetail() {
        return merchantPartDetail;
    }

    public void setMerchantPartDetail(List<EcardMerchantPartInfo> merchantPartDetail) {
        this.merchantPartDetail = merchantPartDetail;
    }

    public Date getMaxbftime() {
        return maxbftime;
    }

    public void setMaxbftime(Date maxbftime) {
        this.maxbftime = maxbftime;
    }

    public String getPerLevelName() {
        return perLevelName;
    }

    public void setPerLevelName(String perLevelName) {
        this.perLevelName = perLevelName;
    }

    public String getStateName() {
        return stateName;
    }

    public void setStateName(String stateName) {
        this.stateName = stateName;
    }

    public String getVisitSts() {
        return visitSts;
    }

    public void setVisitSts(String visitSts) {
        this.visitSts = visitSts;
    }

    public String getReleaseSts() {
        return releaseSts;
    }

    public void setReleaseSts(String releaseSts) {
        this.releaseSts = releaseSts;
    }

    public String getSortTime() {
        return sortTime;
    }

    public void setSortTime(String sortTime) {
        this.sortTime = sortTime;
    }

    public String getManageMapAddress() {
        return manageMapAddress;
    }

    public void setManageMapAddress(String manageMapAddress) {
        this.manageMapAddress = manageMapAddress;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public Long getDictDeptId() {
        return dictDeptId;
    }

    public void setDictDeptId(Long dictDeptId) {
        this.dictDeptId = dictDeptId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    @Override
    public String toString() {
        return "EcardPersonInfo{" +
                "id=" + id +
                ", perType=" + perType +
                ", perTypeName=" + perTypeName +
                ", perCustName='" + perCustName + '\'' +
                ", perCustIdcard='" + perCustIdcard + '\'' +
                ", perIdcardHead='" + perIdcardHead + '\'' +
                ", perIdcardBadge='" + perIdcardBadge + '\'' +
                ", perCustPhone='" + perCustPhone + '\'' +
                ", perIsHouseholder='" + perIsHouseholder + '\'' +
                ", perMaritalStatus='" + perMaritalStatus + '\'' +
                ", perResidentialStatus='" + perResidentialStatus + '\'' +
                ", perResidentialAddress='" + perResidentialAddress + '\'' +
                ", perMarketingFocus='" + perMarketingFocus + '\'' +
                ", perBusinessLabel='" + perBusinessLabel + '\'' +
                ", perLabel='" + perLabel + '\'' +
                ", perLevel='" + perLevel + '\'' +
                ", perLevelName='" + perLevelName + '\'' +
                ", manageBusinessProject='" + manageBusinessProject + '\'' +
                ", manageSituation='" + manageSituation + '\'' +
                ", workUnit='" + workUnit + '\'' +
                ", manageMapAddress='" + manageMapAddress + '\'' +
                ", areaName='" + areaName + '\'' +
                ", perAreaId=" + perAreaId +
                ", creatorId=" + creatorId +
                ", creationTime=" + creationTime +
                ", deptId=" + deptId +
                ", managementPersonnelId=" + managementPersonnelId +
                ", state=" + state +
                ", stateName='" + stateName + '\'' +
                ", userName='" + userName + '\'' +
                ", deptName='" + deptName + '\'' +
                ", visitSts='" + visitSts + '\'' +
                ", releaseSts='" + releaseSts + '\'' +
                ", sortTime='" + sortTime + '\'' +
                ", maxbftime=" + maxbftime +
                ", maxcytime=" + maxcytime +
                ", maxvisitpic='" + maxvisitpic + '\'' +
                ", dictDeptId='" + dictDeptId + '\'' +
                ", userId='" + userId + '\'' +
                ", merchantPartDetail=" + merchantPartDetail +
                '}';
    }
}
